<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>关系运算符</title>
    <script>
        /* 关系运算符 */
        /* 
        通过该系运算符可以比较两个值之间的大小关系、
        如果关系成立他会返回true，如果关系不成立则返回false

        > 大于号
         -判断符号左侧的值是否大于右侧的
         -如果关系成立，返回true，否则返回false
        >= 大于等于
         -判断数值左侧的值是否大于等于右侧的值
         -如果关系成立，返回true，否则返回false
        < 小于号同理
        <= 小于等于同理


        非数值情况
            -对于非数值进行比较时会将非数值转换为数值进行比较
            -任何值和NaN作任何比较都是false
            -如果符号两侧的值都是字符串时，不会将其转换为数字进行比较
                而会分别比较字符串中字符的Unicode编码
         */
        var result = 5 > 10; //false
        var result1 = 3 > 1;
        document.write("result1 = " + result1 + "\n")
        console.log("result = " + result);
        var code = 5 >= 10;
        var code1 = 5 >= 5;
        var code2 = 5 >= 2;
        // document.write("code = " + code);
        // document.write("code1 = " + code1);
        // document.write("code2 =" + code2);
        console.log("code =" + code);
        console.log("code1 =" + code1);
        console.log("code2 =" + code2);


        //非数值情况
        console.log(1 > true); //false
        console.log(1 >= true); //true(将1当成true处理)
        console.log(1 >= "0"); //true
        console.log(10 > null); //true(null转换为数字是0)
        console.log(10 > "hello"); //false(字符串转数字是null)
        console.log(true > false); //true(转换为数字1>0)
        console.log("1" < "5"); //true
        //如果比较两个字符串型的数字，可能会得到不可预期的结果
        //在比较两个字符串型的数字时，一定要注意转型
        console.log("11" < "5"); //true
        console.log("result=" + "11" < "5"); //false
        console.log("a" > "b"); //false
        //比较字符编码时，是一位一位(对位比较)比较
        //如果两位一样，则比较下一位，所以可以借用它来对英文进行排序
        console.log("abc" < "b"); //true
        //对于中文来说没有意义
        console.log("你" > "我"); //true
    </script>
</head>

<body>

</body>

</html>